Display, view, and operate multi-layers item list in web-browser with supporting of concurrent multi-users

ABSTRACT

Support end-user to view and operate computer system resources through logically organized graphically displayed multi-layered item lists (MLIL) has been fully realized on native window UI in user click based computer user work environment, which run on top of modern computer operating system such as Microsoft Windows system. To support such functionality on web browser based user interface (“UI”), the console support modules of a control management system (a web server) must provide mirrored image of the MLIL in memory for being graphically displayed in the user&#39;s web UI, where the MLIL is a logical organized structure for representing actual one or more computer resources information. The console support modules are required to provide immediate response to each user&#39;s actions of either viewing or operating the resources represented by the MLIL. The accomplishment of supporting end-user to view and operate computer system resources through logically organized graphically represented multi-layered item lists on web based UI is a giant step towards realization of the next generation of web based computer user work environment.

CROSS REFERENCES TO THE PRIOR APPLICATIONS

This is a divisional application for U.S. patent application Ser. No. 11/374,302, which claims the benefits of the priority of the U.S. provisional Application No. 60/585,552 file with same title and in the name of the same inventor. This application Ser. No. 11/374,302 is the continuation-in-part of U.S. patent application Ser. No. 10/713,904, filed in the name of the same inventor and entitled “Concurrent Web Based Multi-Task Support for Control Management System” and is also a continuation-in-part of U.S. patent application Ser. No. 10/713,905, filed in the name of the same inventor and entitled “Method and Apparatus for web-based Storage On Demand”. The application Ser. No. 10/713,904 is patented with U.S. Pat. No. 7,418,702 and It is also converted from U.S. provisional application Ser. No. 60/401,238. The application Ser. No. 10/713,905 now is a U.S. Pat. No. 7,373,990 and it is also converted from U.S. provisional application Ser. No. 60/402,626.

FIELD OF THE INVENTION

The present invention focuses on providing multiple concurrent users from each of their web browser interacting in web-based computer user work environment (“WCUWE”) with ability of tt displaying, viewing, accessing & operating various system resources of the computer systems by using multi-layered item lists (“MLIL”) for a central controlled distributed scalable virtual machine (“CCDSVM”).

BACKGROUND OF THE INVENTION

The evolution of the computer user interactive work environment has changed from paper tape or punch cards of early years to command line based user work environment on a native system in 1970's, and to window & mouse click based user work environment on a native system in the middle of the 1980's.

There are network based user work environment since 1980^(th) and 1990^(th) such as Microsoft's terminal service, the Telnet of Unix & Linux system etc. These types of software let users to access and operate the target system remotely from the user's native system. There are network management software, which mostly focus on monitoring the targeted systems' network activities. In addition, all of the software mentioned has limited mobility and capability because they are all required to install specialized software on the user's remote system. Therefore, these types of software are not easy to be ported and further limit the user's ability to remotely work from various kind systems or devices.

There are web-based application software that allow users to access web applications on a web server from a web browser on a remote system or device. However, these types of software are not designed for manage resource on web server and not designed for creating a web based computer user work environment. There are web-based software that allow people to manage system remotely. However, they also do not create a web-based computer user work environment, instead, simply dump the existing computer user work environment of a particular system to a web browser on a remote system. Also, this type of software has limited network capability.

A new web-based computer user work environment (WCUWE) has been disclosed in the parent applications of the “Concurrent Web Based Multi-Task Support for Control Management System”, and the “IP Based Distributed Virtual SAN”. The present invention will focus on how the WCUWE of the CCDSVM can achieve and realize a flexible working environment for the users of the CCDSVM by deploying the MLIL. With the MLIL, the WCUWE can provide users much efficiently to access and operate the provisioned systems of the CCDSVM from any web browser on any remote system or electronic device. Due to the capability of expanding CCDSVM crossing Intranet and Internet and its strong security control, the WCUWE can meet the ever increased demanding for providing a more secure, mobilized, flexible and cost saving computational solution.

To fully understand the present invention, one might also need to know the various terminologies from technology perspective, which are described hereafter.

The CCDSVM is an abbreviation for a central controlled distributed scalable virtual machine. The CCDSVM allows a control management station to control groups of systems and provide distributed services to one or more client hosts in Intranet and Internet as well as in LAN environment. The software components of the CCDSVM form a virtual operating system.

Every computer system provides end users a computer user work environment (CUWE), which usually runs on the top of a generic computer operating system. The CUWE allows user to setup authentication profile for different users, to configure system resources from storage, network, file system, file folders structure, files and all other available resources on system, to monitor system activities, to access applications, and to manage data files such as moving data from one folder to another folder or moving data from one system to another system etc. without limits. Specially, the CUWE provides multi-users with multi-task capability. Therefore, each users can perform multiple tasks described above concurrently after their successful login to a computer system.

The web-based computer user work environment (WCUWE) of the present invention runs on the top of generic operating system which native to a single or multiple computers. The WCUWE comprises the software modules disclosed in the present application. The WCUWE allows each users working on one or multiple computer systems through a conventional web-browser, which either located on a remote system or device such as laptop, PDA, desktop etc. or located locally on said one or more computer systems. With web-based computer user work environment, the entire CCDSVM can be operated as a single virtual machine.

The resources configured on a computer system or electronic device include CPU, memory, storage device, network device, monitor or other display devices, keyboard, mouse, photo or video record devices, wireless communication device, user authentication profiles, and various form of deposited data on storage etc. without limits. The deposited data on storage could be file system structure, file-folders, data files, formed raw data etc. The data file can be in various forms such as plain text form, binary data form, PDF form, MPEG or JPEG form, or various image data form, MS power point form or Word documentation form etc. The mentioned data is for illustrating only and they shall not be limited to these mentioned above. The storage could be in any media form such as hard disk drive, magnetic tape drive, various forms of memory devices, or others suitable media without limits. In addition, in the rest of discussion, the resources of the computer system or devices will all be referred to the resources mentioned above.

The web browser can interpret the standard structured formatted information and display them via web pages such that people can view, manipulate, and interact with the displayed information. The standard formatted information are imposed and encoded by using the programming language such as HTML (Hypertext Markup Language), XHTML, DHTML, XML, or any other suitable languages, whichever can best describe the structured information.

In the real life, the mentioned languages (HTML, XML, . . . ) themselves are often referred as standard format for web communication. Therefor, in this invention, it is not necessary to have a clear boundary between these two different entities. In other words, they are often be used interchangeably in this invention without further mention the differences.

Multi-layered Item list (MLIL) is a logically organized information list with a certain order, where each entry contains an item and each items may contain another layer of list of items, where each items may represent a physical resources or information of the computer systems or other devices. For example, the information of files and file-folders of a file system on a modern computer system is typically organized as multi-layers item list and can be viewed, displayed & operated on a modern UI window of a native computer system with supporting from modern computer operating system. Further, each item (node) on the list may represent a file-folder or file. The information of systems or devices on the network, the information of hardware components on a systems such as disks, network cards, memory etc, and the information of multiple users' accounts on a system also can be organized into multiple layers of item list for displaying, viewing, and operating. The supporting of the MLIL in the WCUWE has made the system resources and information much easy to be displayed, viewed, and operated from a browser. The MLIL may contain at least one item (node) and as many as multiple hundreds items (nodes).

The system such as control system, system unit, console system, and client host system of present invention, can be a desktop, laptop, various types of servers, PDA, or cell phone or other devices with communication ability. The systems mentioned here are just for illustrating and they shall not be limited in the present invention.

The OS (operating system) running natively on the mentioned system above can be any suitable operating system such as Windows, Linux, various Unix, real-time operating system and so forth without limits. The present invention shall be independent of OS platform.

The programming languages, which are used for implementing all software modules mentioned in this invention, could be any suitable languages or a combination of the suitable languages such as C, C++, Java, JavaScript, Visual Basic, C sharp, HTML, XML, DHTML, XHTML, and others without limits.

The communication protocols used in the CCDSVM could be various kinds that are appropriate for transmitting required data over communication links. The communication protocols could be IP-based protocols or non-IP-based. The IP based protocols are built on the top of IP protocols and could be standard based, such as TCP, UDP, ICMP, and other protocols, and also can be non-standard proprietary protocols. The non-IP based protocols can be ISO 8473, ISO 8208, or serial communication, or data link layer protocols like LLC 802.2, or HDLC, or any proprietary protocols bellow the IP protocol level. The protocols mentioned above are just for illustration purpose and shall not impose any limitations on the present invention.

The communication protocols for web computing could be HTTP, SOAP, WAP, or others without limitations.

The web browser mentioned can be an existing commercial software such as Microsoft IE or Netscape, or Firefox, or Mozillar, or any other commercial or proprietary software. The web browser must be able to handle web protocols such as HTTP, SAOP, WAP or others and be able to interpret the standard structured formatted information, and further let user to view the web contents transmitted over the web using protocol such as HTTP.

The web server software mentioned in this invention could be a commercial software from any vendors such as Apache, IIS, or others on the market, and it also can be a proprietary software. The web server software must be able to handle web protocols such as HTTP, which is a protocol built on the top of the TCP protocol. Therefore, the structured information for the web can be transmitted to web browser through communication link if web browser and web server are located on different systems or through inter-process communication if both web browser and web server are located on the same system.

A user session of the CCDSVM is normally started at a time the user login to the CCDSVM from a web-browser and ended at a time the user logout the CCDSVM from the same web browser. During a session, users can perform tasks, which have been permitted by the user's security profile.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1: illustrates an example of a typical CCDSVM with a control system, multiple console hosts, system units and client systems.

FIG. 2: illustrates various embodiments of the CCDSVM:

FIG. 2 a) illustrates an example of a CCDSVM with a single control management station.

FIG. 2 b) illustrates an example of a CCDSVM with identical client systems and system units.

FIG. 2 c) illustrates an example of CCDSVM with client system for non-web based accessing.

FIG. 3: illustrates an example of software modules of WCUWE for CCDSVM.

FIG. 4: illustrates simplified examples of Multi-Layered Item List (MLIL).

-   -   FIG. 4 a) is a simplified diagram illustrating one embodiment of         a Multi-Layered Item List (MLIL) of a CCDSVM, where each node on         the (MLIL) at a different layer may represent an associated         resource.     -   FIG. 4 b) is a simplified diagram illustrating one embodiment of         a Multi-Layered Item List (MLIL) of the CCDSVM, which consists a         single node on the (MLIL).

FIG. 5: illustrates the examples of the operation menu for WCUWE of CCDSVM.

-   -   FIG. 5 a) is a simplified diagram illustrating one embodiment of         a web-based drop-down disk operation menu associated with a disk         drive node on a MLIL, which has two nodes of a disk and a         control system.     -   FIG. 5 b) is a simplified diagram illustrating one embodiment of         another type of web-based operation menu that can be used for         selecting a system within said CCDSVM for further accessing.

FIG. 6: illustrates the examples of operation menu for different type of node on MLIL.

-   -   FIG. 6 a) is a simplified diagram illustrating one embodiment of         a web-based drop-down operation menu designed for managing a         storage node of an MLIL.     -   FIG. 6 b) is a simplified diagram illustrating one embodiment of         a web-based drop-down operation menu for file and file folder         management for an file-folder MLIL.     -   FIG. 6 c) is a simplified diagram illustrating one embodiment of         a web-based drop-down operation menu associated with a MLIL with         three nodes and two levels for managing layered a group of         systems.

FIG. 7: illustrates an example of multiple server units being grouped into two groups based on group ID.

FIG. 8: illustrates the examples of the MLIL combined with mixed devices, system units and groups.

FIG. 8 a) is a simplified diagram illustrating one embodiment of displaying a web based MLIL for a system group, its provisioned system units and the configured storage devices of a system unit that represented by a MLIL having three levels and six nodes.

FIG. 8 b) is a diagram illustrating one embodiment of displaying a web-based MLIL for a system group, its provisioned system units and a system's displayed files & folders.

FIG. 9 illustrates an example of how does the file system on the system unit 3 in a group can be accessed.

FIG. 10 illustrates a typical hardware components for a computer system such as for the control management system, system units, and console hosts. it consists of one or more CPU, memory, secondary storage such as disks or memory sticks, the network interface cards, and display components such as monitor or others. these components are connected through buses.

In the drawing, like elements are designated by like reference numbers.

BRIEF DESCRIPTION OF THE INVENTION

The parent application, of the “Concurrent Web Based Multi-Task Support for Control Management System”, discloses the web-based computer user work environment (WCUWE) and the multi-task support in WCUWE. The parent application, of the “IP Based Distributed Virtual SAN” discloses how can the system units of the CCDSVM be automatically and dynamically provisioned and grouped to form one or multiple various service pools in cross network domain environment. With the WCUWE, the entire CCDSVM can be accessed and managed from web-browser anywhere on the network. In addition, it permits multiple users, each from their own web-browser on the user's native system or device over the network to concurrently access and manage the CCDSVM with multi-tasking capability.

Since the emergence of the native window based computer user work environment (CUWE) in middle of 1980's, users are able to interactively display, view and operate the information and resources of the computer systems or devices by mouse-click through corresponding displayed multi-layered item list such as files & folders list on MS Window system, etc. In other words, supporting multi-layered item list has become a critical part of the native window based computer user work environment. Specially, with new web technology, how to provide multiple concurrent users from each of a single web-browser to effectively simultaneously display, view & operate item list for corresponding resource such as for deeply nested files & folders, or for multi-groups provisioned systems or devices etc. has became an unprecedented challenge. The two parent applications mentioned before and together with present invention have successfully solved this challenge.

These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1: illustrates an example simplified block diagram for an embodiment of a typical CCDSVM, which includes:

The console hosts 1 can be any types of system on the network and have any suitable OS running, where each console host 1 must have a web browser 9 to be used for accessing and operating the CCDSVM. The web-browser can be implemented with any suitable or a combination of suitable programming languages. Web-Console is another name for the web-browser 9 on the console host 1. From the web browser 9 of the console host 1 by following a URL, users can obtain a WCUWE of the CCDSVM, and further to access, manage and operate the systems of the CCDSVM. The term of the web-console used instead of using the term of web browser due to it is specially designed for permitted privileged user with ability to access system information and perform system operation in CCDSVM environment.

The console host 1 may also include other software modules 13, which may be implemented with any suitable programming languages. The software modules 13 may communicate with the control management station 2 using IP based, non-IP based, or any suitable protocols for receiving or sending data between the console host 1 and the control management station 2.

To support a non-web-based networked console, the software modules 13 of the console host 1 must handle protocol other than web protocol of the HTTP, SOAP, WAP or others for communicating with the console supporting software 6 of the control management station 2. The console host 1 plays same role as client host 10 except it is dedicated for system administrator to manage the CCDSVM.

The control management station 2 could be any type of system connected to the network and have any suitable OS running. The control management station 2 includes web server software 7 and console supporting software modules 6. The console supporting software 6 includes web server interface software modules 5 and control management software modules 4. The control management station 2 may also have a native Web browser 9 to be used as a web-console 9 of the control management system 2. The web server software 7 sends data to and receives data from the web-console 9 of the console hosts 1 or the web-browser 9 of the client 10 using protocols such as HTTP or any other suitable protocols for delivering web contents.

The web server software 7 and the console supporting software 6 can be implemented with any suitable or a combination of the suitable programming languages. In addition, the communication protocol used between the console support software 6 and the service software modules 8 of the system units 3 could be any suitable protocol. In addition, the web server interface 5 of the console support software 6 may be extended to provide service that is same as the web server 7 can provide. In this case there is no need for the specialized web server 7 software.

System unit 3 could also be any type of systems and can have any suitable native OS running. The type of system unit includes digital media server such as video server and audio server, database server, web server, file server, storage server such as NAS file server (“network attached storage”) and SAN block data (“storage area network”), video security monitoring server etc. without limits. The system unit 3 contains service software modules 8, which is capable of communicating to other systems on the network. For example, the service software modules 8 of the system unit 3 can communicate with the control management software 4 of the control management station 2 to carry out the requested tasks for viewing or operating the resources of the system unit 3. The service software modules 8 of the system unit 3 in another embodiment also can communicate with each client 10 for delivering the services to one or more clients 10, or communicate with another system unit 3 for transferring data etc. without limits.

The service software modules 8 of the system unit 3 may include an individual software module dedicated to handle HTTP protocol or other web protocols if there are needs for performing web-based communication with the client host 10 or with other system unit 3 or with the control management station 2. This individual software module could be the commercial web server software on the market or a proprietary software. The service software modules 8 could also be implemented with any suitable programming languages, and be configured with any suitable communication protocols.

The net1 11 is a network infrastructure of Internet or Intranet, WAN or LAN, which provides various communication links between the control management station 2 and the console-host 1 or the client host 10. It also provides communication links between the system unit 3 and the client host 10. The net1 consists connection media such as cable (Ethernet, optical Fiber, and other), wireless media for wireless link, or data bus on the circuit board; the net1 also consists of communication equipment including switches/routers/adapters, etc. and all other possible elements for communication without limitation.

The net2 (12) is also a network infrastructure of Internet or Intranet including corporate storage network, WAN or LAN, which provides communication links between the control management station 2 and the system units 3 or the consoles host 1. It also provides the communication link between the system unit 3 and the client host 10. The net2 consists similar network equipment and elements that net1 11 has.

The client hosts 10 in one embodiment are not part of the CCDSVM yet with permission and authorization, each client host 10 can get services from the CCDSVM, in one example using web-browser 9. The web-browser 9 of the client host 10 could be either a conventional commercial browser on the market or a proprietary software, which provides compatible functionality to handle and interpreter data on the web.

There are 4 basic data flow paths within a typical CCDSVM configuration and they are listed bellow:

Data path 1 is the data flow through communication link between the web browser 9 of the client host 10 or the console host 1 or the control management station 2 and the web handling software of the web-server 7 and console support software 6 of the control management station 2. With this path of data flow, whenever the user sends a request of accessing a resource of the CCDSVM from the web-browser 9, the request is transmitted to the web-server module 7 and further down to the console support software modules 6 of the control management station 2. The console support software 6 collects all required information from the targeted system and converts them into the standard structured information for web communication. The targeted system could be any system unit 3 or the control management station 2 itself.

The resources information collected by the console support software 6 of the control management station 2 could be system status, storage information, network information, user authentication profile, file system information and files & folders information on the targeted system without limitations. The console support software 6 then passes this converted structured information to the web server software 7 and further transmits to the web-browser 9 through communication link net1 11 or net2 12 such that it can be displayed and viewed from a conventional web browser 9.

The communication protocols used between the web-browser 9 and the web server 7 of the control management station 2 could be the HTTP or any other suitable protocols for web → communication, which could successfully transmit the data on web.

The data path 2 is the data flow through communication link between the control management station 2 and the system units 3. With this path of data flow, the requests targeted for system units 3 are passed from the console support software 6 of the control management station 2 to the service modules 8 of the system unit 3 through communication link net2 12. If the responses for those requests must return back to the control management station 2, the service modules 8 of the system unit 3 carry out the requested task and then send the response back to the console support software 6 of the control management station 2. The communication protocol used between the console support software 6 of the control management station 2 and the service modules 8 of the system unit 3 can be any suitable protocols for transmitting data between them. The typical data flow through this path could be the boot message or system status or network information or storage information of the system unit 3 and so forth without limits.

The data path 3 is the data flow through communication link between the system units 3 and the client hosts 10 or the console hosts 1. With FIG. 1, in one embodiment, the console support software 6 of the control management station 2 may present a web link, which is pointed to an object of a system unit 3, and to be displayed into the user's web-browser 9 of the client host 10 or the console host 1 or the control management station 2. The object pointed by the web link on the system unit 3 could be a file of text, mpeg video, PDF, MS power point or Word documentation etc. without limits, and it also could be a link of another web service program. From the web browser 9, the user can directly access the information on any system unit 3 pointed by the web link without go through the control management station 2 again if the web browser 9 is not local to the control management station 2. In this case, the service modules 8 of the system unit 3 must also include a web server software to directly support the web browser 9 access as mentioned before.

The data path 4 is the data flow through communication link between the system unit 3 and another system unit 3. With this path, the service modules 8 of a system unit 3 can directly transmit data or information to the service modules 8 of another system unit 3 via the communication link net2 12 without going through the control management station 2. The communication protocol between the system units 3 could be IP-based or any suitable non-IP-based protocol. The data and information transmitted through the path 4 can be various types, such a data file. For example, an user on the web-browser 9 may walk through a file folder on a system unit 3. Later, the user selects to transfer a file from the current system unit 3 to another targeted system unit 3 by mouse click, therefore, the data file will be transferred directly between two system units 3 without go through the control management station 2 again.

FIG. 2 a illustrates an example of another model of the CCDSVM that only has a single control management station 2. With this model, there is no any system unit 3 connected, therefore, the CCDSVM is degenerated into a single standalone system and the WCUWE just works fine for a single system, which is the standalone control management station 2. Therefore, the user from the web-browser 9 of the console host 1 or the client host 10 or the control management station 2 can access and operate the entire resources on the control management station 2.

FIG. 2 b illustrates an example of the CCDSVM with the identical client host 10 and system unit 3. This model is exact the same model with the typical CCDSVM that being shown in FIG. 1, except there is no difference between client host 10 and system unit 3 since each system unit 3 also configured with a web-browser 9 and each client host 10 is also configured with service modules 8. This means each client host is also controlled by the control system 2 and both the system unit 3 and the client host are playing the same roles in the CCDSVM of FIG. 1. In this model, users from the web-browser 9 on each system unit/client host can login the control management 2 and further access & operate the resources of the control management station 2 or any system unit 3/client host 10 with a security permission.

FIG. 2 c illustrates another embodiment of the CCDSVM for non-web accessed by the client host 10. This model is the same model with a typical CCDSVM illustrated in FIG. 1, except that the client host 10 has its own service modules 14 used for non-web based access. For example, if a system unit 3 is a SAN unit providing storage volumes and the service modules 14 of the client host 10 is a driver routine for read data from and write data to a disk volume on the system unit 3. The client host 10 may also have a web-browser 9 to access the system unit 3 for the purposes other than for accessing disk volumes.

FIG. 3: illustrates an example of the software modules of the WCUWE for a typical CCDSVM. The software modules of the WCUWE can be implemented with any suitable or a combination of any suitable programming languages such C, C++, Java, JavaScript, Visual Basic, HTML, XML, etc., which means that the software of the WCUWE is programming language independent.

The WCUWE comprises software modules which form the part of a web based virtual operating system. The WCUWE has a controlling part running on the top of the native OS on the control system which comprises.

-   -   1) Web server interface modules 5 of the console support         software 6 on the control management station 2.     -   2) Control management modules 4 of the console support software         6 on the control management station 2.     -   3) Web server software 7 on the control management station. The         web server software 7 could be a commercial web server software         on the marketing such as Apache or MS IIS or others, and also         could be a proprietary software. If the web server interface         modules 5 provide compatible functionality of the Web server         software 7, then web server software 7 is not needed.

The WCUWE has an agent part running on the top of the native OS on the controlled system that comprises

-   -   4) Service software modules 8 on the system unit 3 of FIG. 1 and         on the client host 10 of FIG. 2 b. Service software modules 8         may also consist of a web server software 7 or a software         module, which can provide equivalent functionality as the web         server software 7 can provide.     -   5) Web browser 9 on the console host 1 or on the control         management station 2 or on the client host 10. The web browser 9         could be a commercial web browser on the market such as MS IE,         or Netscape, and also could be proprietary software modules.

All mentioned software modules capable of creating processes and threads that comprise the sequences of the computer executable instruction codes to be loaded and executed by respective mentioned computer systems of the CCDSVM.

FIG. 4: illustrates an example of the Multi-Layered Item list (MLIL).

FIG. 4 a) illustrates a MLIL that contains multiple nodes and multiple layers. A node on the MLIL can be expanded to display one or more sub-nodes by user interacting through mouse clicking on the node if there is any sub-nodes. The one or more sub-nodes may be reduced by the user interacting through mouse clicking on the same node again.

FIG. 4 b) is a degenerated Multi-layered items list, which contains a single node in a single layer.

FIG. 5 illustrates simplified examples of web operation menu for the WCUWE of the CCDSVM.

FIG. 5 a) illustrates a web based drop-down menu for disk volume management. The drop-down menu can be invoked by right click an item (node) on the MLIL.

FIG. 5 b) illustrates a web based selective menu for system unit management. The item of a specific system unit can be selected and a user can further click the submit button for submit a requested task.

FIG. 6 illustrates the simplified examples of the web operation menu for the different types of nodes on the MLIL.

FIG. 6 a) illustrates an operation menu for managing a storage (disk) node.

FIG. 6 b) illustrates an operation menu for managing each file node.

FIG. 6 c) illustrates an operation menu for managing each system unit nodes of the CCDSVM on the network.

FIG. 7 illustrates an example of system units that are grouped based on group ID.

This figure demonstrates an embodiment of the MLIL that five system units are divided into two groups, which are the marketing group and engineer group. The marketing group contains 2 system units 3 while the engineer group contains 3 system units 3. The groups are automatically and dynamically formed during each system units booting up.

FIG. 8 illustrates the simplified examples of the MLIL that contains the combined mixed devices, system units and groups.

FIG. 8 a) has illustrated an embodiment of a web MLIL, where the top level of the MLIL is a system group level node, the second level contains system unit level nodes, and the third level contains the disk device level nodes.

FIG. 8 b) has illustrated an embodiment of a web MLIL, where the top level of the MLIL contains system group level nodes, the second level contains system unit level nodes, and the third level starts with the file folder level nodes, and the forth level is file level nodes.

FIG. 9 has illustrated an embodiment of multiple file systems on a system unit under an engineer service group in the CCDVM can be displayed, and a specific folder can be selected and expanded into another layers of folders and files, and the files under a folder can be displayed as well. If a user right click on a folder node, an pop up folder operation menu is displayed correspondingly and if an user click on a file, and pop up file operation menu is displayed.

DETAILED DESCRIPTION OF THE INVENTION

The FIG. 1 will be used for most of the discussion, of the present invention and all reference number for designated elements are elements of FIG. 1 unless otherwise specified by other figure number. The FIG. 1 illustrates the web-based computer user work environment (WCUWE) of the CCDSVM provided by the software modules of the WCUWE FIG. 3, which includes console support software 6 & web server software 7 on the control management station 2 and service modules 8 on the system unit 3.

The WCUWE have been described in multiple places in the parent applications of the “Concurrent Web Based Multi-Task Support for Control Management System” and the “IP Based Distributed Virtual SAN”. The WCUWE of the CCDSVM can be initiated by the software modules of WCUWE, especially by the console support software modules 6 of the control management station 2 with following sequences of the steps.

First, the console support software 6 collects all major resources information of the control management station 2 together and further converts the collected information into the standard structured information, which can be selectively displayed in the web-browser 9. The resources information mentioned above include the information of the storage, network, file system, files, folders, users, system status etc, without limits, which can be collected during the control management station 2 boot up or at other appropriate time. Said information may be stored in memory for fast retrieving at later time and may also be stored on permanent storage such as disks.

Second, the console support software 6 communicates with the service modules 8 of the system unit 3 to collect all major resources information from each system unit 3 through communication link net2. Further, the console support software 6 binds the collected information of the system units 3 to the network information of the control management station 2. In addition, upon each users from a web browser 9 to request for accessing, said network information can be organized and converted into the standard structured format for web communication, therefore, they can be selectively displayed and viewed from the web-browser 9. The network information include the information of the system units 3 and their storage device, network devices, wireless devices, video and audio record & playback devices, file-system, users, system status and all others on the network. The network information can be collected during each system units 3 boot up or at other appropriate time.

Further, the network information on the control management station 2 can be kept in memory for later fast accessing and can be organized into any suitable logical structure, for example as a simple list of array, linked list, double linked list, hash table, tree structure etc without limits. The network information also can be stored on permanent storage such as disk or others for the backup purpose. In addition, the network information can be stored in any form on the permanent storage, which can be the form of various commercial databases, binary record file, flat text ASCII file or others without limits. All exampled forms of data depository or logical structures mentioned above are for illustration only, and they shall not be limited in present invention.

After the final initiation of the WCUWE, the users of WCUWE each can login to the WCUWE of the CCDSVM from a single web-browser 9 and can concurrently display, view, access, & operate various resources information of the CCDSVM.

As described in the parent applications of the “Concurrent Web Based Multi-Task Support for Control Management System”, one or more concurrent users from each of web browser 9 of the client host 10, or the console host 1, or control management station 2 can concurrently login to the CCSDVM via a login web page of the WCUWE provided by the console support software modules 6 of the WCUWE (FIG. 3). The console support software modules 6 of the WCUWE (FIG. 3) presents information & the resources of the control management station 2 and the server units 3 to each user after each user's login from a web browser 9. Therefore, whenever an user from a web browser requests to access or manage a major resource on a targeted system of either the control management system 2 or any system unit 3 of the CCDSVM, the console support software modules 6 of the WCUWE (FIG. 3) create a corresponding user task for such request to be executed on the targeted system. As de fact, the console support software modules 6 of WCUWE (FIG. 3) support multiple simultaneous tasks to be run in the user's a single web-browser 9 without blocking the web browser screen and support one or multiple concurrent users from each of their own web-browser 9 to perform said tasks while provide best protecting for resources being accessed by multi-users.

In one embodiment, after each user interactively selecting information via a web displayed resource and submitting a task for viewing, accessing or operating said resources of the CCDSVM, the console support software 6 of the control system 2 receives, parses, and following major actions will be performed for each parsed task: obtains the lock that protecting the user space task list; stores the task information into an available slot of the user space task list; then release the lock; further run the task into background and distribute the task to be executed on one or more targeted systems; then providing a response web page including the task status back to the corresponding user's web browser without waiting the completion of the task; finally cleanup the task information in the corresponding slot of the user space task list in response to the completion of the task.

Wherein, said providing a response web page further includes the console support software 6 of the control system 2 obtaining the task status from the control system itself if the control system itself is a targeted system, and from each targeted system unit across the network infrastructure 11/12 if the system unit is a targeted system. consequently, the user at web browser 9 can check the task status at any time regardless the task is completed or not, and can continuously interact and perform other tasks since the web browser screen will never be blocked or freeze. The mentioned task status can a failed status if the task executing or validation failed, a running status or a result status if the task is success and if there is need. Also, the above actions for task execution are repeatable as long as user keep interacting and working on resources of the CCDSVM and applicable for all tasks submitted from web browser.

In addition, more locks may be deployed for protecting other resources associated with executing each task in addition to a lock used for protecting a user space task list. Using lock to protecting resource shall be regarded as default action for task execution in present invention and will not further be mentioned in details.

In order to provide convenience for each users to perform tasks in the WCUWE after the user's login, the console support software 6 may use a logical structure of multi-layer item list (“MLIL”) of FIG. 4 and the associated web based operation menu (FIG. 5) for corresponding actual multi-level organized resources. The resources, as mentioned before, could be the file folders of a file system, the system units 3 on the network, and/or the users and their security profile etc without limits. If there is need to create a structured multi-layer item list (MLIL) of the FIG. 4 for resources on a target systems at a time each login user tries to access and manage a related resource, the console support software 6 of the control management station 2 performs following steps:

First, for each session of the login users, a memory management module of the console support software 6 creates a MLIL as illustrated in FIG. 4, which can be flexibly expanded or reduced on-the-flying by mouse clicking. Further, the console support software 6 makes an association between each created logical structure of MLIL and the corresponding actual targeted resources. The created MLIL can be reside in memory and can be in any form of list structure such as a simple array list, link list, double link list, various tree structure, or hashed table, etc. without limits.

Second, for each node of each created MLIL binds a corresponding graphic image and/or text representation to the node (item) on the list for the purpose of displaying, and further associates each nodes (items) with appropriate attributes, which shall reflect the nature of the actual resources such as name, type, level, size of a resource etc. without limits, therefore, the resources can be correctly displayed through MLIL in web browser 9.

Third, linking a web operation menu to the MLIL. The operation menu can be either a web-based drop-down menu 1 of the FIG. 5 or a non-drop-down selective menu 2 of the FIG. 5.

Fourth, converting the created MLIL and all its associated information into the standard structured information for web communication, which to be viewable and accessible from the web-browser 9. Therefore, the MLIL can be either viewed from a web-browser 9 on the control management station 2 or the client host 10 or the console host 1. The converted information of the logical item list (MLIL) needs to be transmitted via communication link net1 11 or net2 12 from the control management station 2 to the web browser 9. The converted logical item list (MLIL) can be transmitted using web protocol such as HTTP or any other suitable protocols, therefore, users can remotely view the displayed MLIL from web-browser 9.

Fifth, after user taking action for viewing or managing the resources represented by the MLIL, the console support software 6 modifies the MLIL through said memory management module of the console support software 6. In addition, the memory management module of the console support software 6 keeps tracks of memory usage and status for each correspondent MLIL, because when user accessing or managing the resources represented by the displayed MLIL, it might result in expanding or reducing the nodes of the MLIL. For example, the deleting a file folder operation requires to delete an actual file folder on a corresponding file system and delete the corresponding node on the MLIL.

Most importantly, as a result, all processes or threads that are created to perform the tasks of accessing or managing the resources represented by the MLIL can effectively share the dynamically modified MLIL, which in facts provides a consistent view for the displayed MLIL in the web browser throughout the users' entire login session. The memory management module of the console support software 6 may need to translate and map the initial logical memory address of each MLIL to another logical memory address, therefore, the different processes or threads of the same user session can effectively access the same actual MLIL memory object for an user session,

Sixth, the second to the fifth steps described above can be repeatedly processed as long as each user keeps working on a same resource information list represented by this MLIL.

Finally, for each users log out from the WCUWE of the CCDSVM, the created MLIL for a user session will be deleted through said memory management module of the console support software 6. Further, if a user stops to access the current related resources represented by a MLIL, and further requests to access a totally different resource that does not related to the current MLIL, the original MLIL will be deleted and a new MLIL will be created.

The accessing and managing deep layered file system always has been an important part of any computer user work environment (CUWE) in the past. Supporting a file system to be accessed by users from network has always being a challenge to many vendors. The parent applications of the “Concurrent web based multi-task support for control management system” and the “Distributed Virtual SAN” provide user from web browser 9 to manage storage volumes of the entire CCDSVM and further to create, manage, and access the file system on either control management station 2 or system unit 3. With a sophisticate method of using multi-layer item list of the FIG. 4 together with web operation menu of the FIG. 5 for the file systems in the WCUWE of the CCDSVM of the present invention, users can on-the-flying efficiently access and manage deeply nested files and folders in the file systems of the CCDSVM from web-browser 9 without caching any data.

With this method, the multi-layer item lists (MLIL) can be used to represent the actual file folder structure of a file system on any target system of the CCDSVM, where each item (node) represents a folder or a file system or a file. When user from web-browser 9 walk through the file system and use the mouse-clicking on the MLIL to operate a file or folder, only a small piece of information, which related to the file or folder, needs to be retrieved or transmitted between the targeted system of the CCDSVM and the control management station 2. For example, if a user wants to add or delete an item such as a folder, the only major information required to transmit is the file folder name from the control management system 2 to the targeted system and the targeted system shall carry out the task.

If a user wants to access an resource information node at a layer that bellows the current item node on a MLIL such as a folder, after sending folder name to the targeted system, the only information required to retrieve from the targeted system is a list of sub folders or file names if there is any under the current folder. If users want to set access permission for a file or a file-folder on any of targeted system for one or multiple users to access, the targeted system information and file or folder information located on the targeted system are required to be bound with each corresponding user's profile. The information of a file or file folder includes the attributes of a file or file folder such as name, type, size, and timestamp etc. and the system on witch the file or file folder is resided without limit. The targeted systems could be either the control management station 2 or the system unit 3 of CCDSVM.

If users need to view or edit the content of a file on the system unit 3, the file may be transmitted via communication link over the net 1 & net 2 directly from the targeted system to the client host 10 or the console host 1 without going through the control management station 2. If the file is on the control management station 2 and users like to view or edit it from any remote system, the file is transmitted via communication link over the net1 to the client host 10 or the console host 1. With a proper viewing tool on the client host 10 or the console host 1 or the control management station that may be invoked from the web-browser 9, the user is able to view the contents of the file. With a proper editor, user can further edit the file and then transmit the file back to the targeted system, which could be either the system unit 3 or the control management station 2.

Alternatively, the file may also be transmitted from the targeted system to the control management station 2 and further convert it from original format to a format, which may be viewed and edited in the web-browser. After converting, if the target system is not the control management station 2, the file can be transmitted via communication link net1 11 or net2 12 from the control management station 2 to the client host 10 or the console host 1 for viewing or editing within a web-browser 9. If the target system is the control management station 2, there is no such transmission required.

Network information also is an important part of the WCUWE. Based on the parent applications of the “Concurrent Web Based Multi-Task Support for Control Management System” and the “IP Based Distributed Virtual SAN”, the control management system 2 controls the server units 3 of the CCDSVM to automatically and dynamically provision system units into one or multiple groups (service pools), via a provisioning protocol. The service pool can be SAN storage volume service pool, NAS file system volume service pool, or host service pools such as video service pool, security monitor service pool, file service pools, web service pools, database service pool and other service pools that provided services across the web (or network) without limits. As matter of the fact, each group can be formed based on the functionality or their group ID of each system unit and each group contains at least one server unit 3 in present invention. Each system unit also can be dynamically added or removed without interfering the operations of the CCDSVM.

To effectively access and manage grouped system units 3 and their associated devices such as storage or network interface cards or terminal monitor or video & audio recorder such as camcorder, or keyboard & mouse, or wireless devices or file systems on network, the multi-layer item list (MLIL) also can be used. Therefore, the mixed information on the network can be ordered with top-down fashion, for example, the server-group is organized at top level, the system units 3 is placed at second level, and the devices or file system are organized starting from third level of a MLIL and so on without limits. Therefore, the entire MLIL can be easily navigated, browsed, and access one layer at a time from top level to the lowest level.

More specifically, a node on the MLIL with different level or type may associate with a different type of web operation menu. For example, a node of system unit 3 on the MLIL may associate with an operation menu containing operation options for system status, shutdown, storage management, change usage etc. and a node of storage device may associate with operation menu with operation options of creating storage volume, displaying storage volume, and delete storage volume etc. without limits.

After converting all information associated with a MLIL to the standard structured information, the complex information on the network can be viewed and operated by users from web-browser 9. For example, the FIG. 7 has illustrated an example of system units 3 can be provisioned into multiple groups. The FIG. 8 demonstrates an example of how does device such as storage can be displayed and listed under the server units 3 in each group. The FIG. 9 shows an example of how does the file system on the system unit 3 in a group can be accessed.

The method of automatically and dynamically grouping system units 3 and wisely using the MLIL to represent the diversified resources on the network, the entire CCDSVM can be much more efficiently accessed, operated, and managed. For example, through mouse clicking on web-browser 9, privileged users can create storage volumes from a fresh disk on any targeted system, make a file system on each created storage volume, mount each file system, create file-folder structure on each file system, and further setup access control for user with limited privileges. Therefore, the WCUWE can let user securely access from a web-browser 9 anywhere on the network.

The supporting user administration and authentication is also an important part of WCUWE of the CCDSVM. Initially, the WCUWE provides a default super user (first privileged user) to login the WCUWE of the CCDSVM and further to access the authentication web-page provided by the console support software 6. Therefore, the first privileged user can setup other privileged or non-privileged users' account profiles thereafter.

Similar to the file system in the WCUWE of the CCDSVM, the user profile also can be viewed and operated using a MLIL combined with a web-based operation menu illustrated in FIG. 5 and further be converted into the standard structured information, which can be viewed and accessed by users from the web-browser 9. Therefore, through mouse clicking on the MLIL of the user profile and the web-based operation menu in a displayed web page, users can conveniently perform tasks for creating the user account profile, for viewing, updating, or deleting user account profile and other tasks. Specially, the privileged users can setup profiles for other non-privileged users for secure access control. In addition, the user information and their security profile can be kept in any form of a database, which could be a commercial database on the market, or a plaint text file, or a binary record file, and so forth without limits.

The spirit of the present invention has inherited from the two parent applications. With the CCDSVM, the control system 2 can control automatically forming one or more service pools of a CCDSVM, where the service pools include storage and host pool. The host pool can be one of streaming video and audio service pool, file service pool, web service pool, database service pool, video monitoring service pool etc. without limit. The storage service pool of the CCDSVM can be one of SAN service pool or NAS service pool. In addition, each system in the host pool is capable of utilizing storage volumes in the storage pool. In one embodiment a host can use the storage volumes of SAN units to create local file systems on the host. In another embodiment, a database on a system in the host pool can be created on one or more storage volumes on the SAN units.

The automatic forming one or more service pools is realized through an automatic service pool construction protocol during each system's boot across a network which is one of LAN, WAN, Internet or corporate Intranet including corporate storage network. This protocol works as follow:

When a system unit 3 boot up or when a system's link up, it sends out a system up packet to the control system 2. The control system 2 automatically detecting and receive the packet sent by the system unit 3, collecting the identity information such as IP address and system's name from the packet, and then storing the collected information into a system information lists. The control system 2 then sends a reply packet to the system unit 3 for enquiring what service the system unit 3 will provide. The system unit 3 then sends a response packet including the required service information to the control system 2. After receiving the service information, the control system 2 updates the system information list which includes assigning each system into a corresponding service pool based on functionality of the system.

After the pooling process, the control system has obtained all necessary information for accepting service requests and distributing each request to a identified system in a corresponding service pool.

the CCDSVM support web based multi-tasking. The tasks can be performed by user from the web browser includes move or transmit data such as a multiple Gig-bytes data file or other data in various form from any point or any system to another point or another system within the CCDSVM; configure, partition and assign storage volumes to required systems within the CCDSVM, for example configuring a RAID controller; setup authentication of a specific user from a specific web browser with privilege to access or one or more systems within the CCDSVM; setup and authentication services of the CCDSVM for accessing by clients; monitor and display the status and activities of the network, storage, CPU, processes and threads for entire CCDSVM; accessing and managing the file systems, file-folders and files of the CCDSVM for example, creating a file system on a storage volume such as a 6o Giga bytes sized file system by using storage device either locally on a system or remotely on another storage unit in the CCDSVM; and creating a database using storage volumes on a SAN unit etc.

In one embodiment, the CCDSVM comprises a layered structure for a larger scale of CCDSVM consisting hundreds and thousands of system units and hosts, wherein each middle layer control system configured with web server 7 and console support modules 6 of the control system 2 and configured with the services modules 8 of the system unit 3. Therefore, the middle layer control system plays both role of the control management system to its underneath one or more system units and play the role of system unit to its up layer control systems for receiving one or more requested tasks, executing and responding to each requested task.

In addition, the CCDSVM also comprises a security and authentication mechanism. The control system controls each user's security credentials and permissions for performing permitted tasks for the systems of the CCDSVM, accessing the permitted systems and resources of the CCDSVM either at control system level or at system unit level. The security permission also includes limiting each user only can from the user's specific system to access the CCDSVM, and assigning and permitting user accessing specific sized storage space.

The present invention has been described in considerable details with preference to certain preferred versions, examples, and figures; however, other versions, and samples are also possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions and samples contained herein. 

1. A control system supporting file transferring, which comprises: at least a hardware processor and a network interface device; the control system connects to one or more networked systems across a communication network, and is capable of providing web services and user interfaces (“UI”) including web UI for file transferring, facilitating and controlling each of one or more users potentially at same time from a web browser on the user's local system via said web UI capable of performing tasks, specially performing file transferring tasks including transmitting multi-Giga bytes sized files; wherein the control system controls each web browser capable of submitting one or multiple said requested tasks to be run without blocking the web browser screen.
 2. The control system of claim 1, wherein said control system further comprises a control management controlling the operations of the virtual server which includes communicating to the service agent of each networked system to control each system across a communication network that includes controlling automatic forming the virtual server with one or more service pools, organizing resources information on the control system and from each system unit, and distributing requested tasks to each targeted systems of the virtual server; and a web server interface operatively coupled to the control management for providing web services and user interfaces (“UI”) for transmitting and displaying information of the virtual server into each user's web browser, and for receiving, distributing and executing each request transmitted from each web browser.
 3. The control system of claim 2, wherein said networked system further comprises: configuring each networked system having at least a network interface device, a storage device, and a service agent which capable of receiving, executing, and responding to each task transmitted from the control system, and capable of providing file services from said storage device directly to the requested end users or client systems without doing through the control system again, which includes providing file transferring services.
 4. The control system of claim 1, wherein said control system controls each web browser submitted one or more tasks to be run without blocking the web browser screen further comprises: running each received task in the background of the control system and to be distributed and executed on one or more targeted systems.
 5. the control system of claim 4 further comprises: configuring the control system capable of performing following acts for supporting web multi-tasking: a) deploying a lock to protect a user space task list; b) repeatedly performing receiving and parsing one or more requested tasks from each user's web browser, and for each parsed task performing following acts: c) acquiring the lock that protecting the user space task list, storing the task information into a not used entry of the user space task list, then releasing the lock; d) running the task in background and to be distributed and executed on one or more targeted systems; e) providing a response web page including the task's status back to the user's web browser without waiting the completion of the task; and f) cleaning up the task information in the corresponding user space task list in response to the completion of the task;
 6. the control system of claim 1, wherein said transferring files further comprises: facilitating each user from a web browser via web UI capable of selecting and transferring one file at a time from the control system across said communication network to a networked system.
 7. the control system of claim 6 further comprises: facilitating each user from a web browser via web UI capable of selecting and transferring one file at a time from a networked system across said communication network to the control system.
 8. the control system of claim 1, wherein said transferring files further comprises: facilitating each user from a web browser via web UI capable of selecting and transferring one file at a time from a networked system across said communication network to another networked system.
 9. the control system of claim 1, wherein said transferring files further comprises: facilitating each user from a web browser via web UI capable of selecting and transferring one file at a time from the user's local system across a communication network to a targeted system of the control system or a networked system.
 10. the control system of claim 1, wherein said transferring files further comprises: configuring the control system capable of supporting web based multi-layered item list (“MLIL”) which also known as web folder tree for representing file systems, files and file folders of the virtual server and facilitating each user from a web browser via the MLIL of a web UI capable of performing said file transferring tasks. 11: the control system of claim 1, wherein said transferring file further comprises: facilitating user from a web browser via web UI including via web MLIL capable of selecting one file at a time from a system of either the control system or a networked system to transfer the selected file from the system across a communication network into the web browser on the user's local system for viewing or editing.
 12. the control system of claim 11, wherein said editing file further comprises: facilitating said user to transmit the edited file from the user's local system back to said system.
 13. the control system of claim 11, wherein said editing file further comprises: converting file from the original format to a viewable and editable format for displaying and viewing in the user's web browser.
 14. The control system of claim 5, wherein said act e) of providing response web page including the task status further comprises: obtaining the task status from the control system if the control system is a targeted system and obtaining the task status from a networked system if the networked system is a targeted system.
 15. The control system of claim 5, wherein said providing response web page including the task status further comprises: facilitating a user from the web browser capable of via the response web page checking said task status and capable of performing one or more tasks regardless the user previously submitted one or more tasks are finished or not.
 16. the control system of claim 1, wherein said control system further comprises: instructing the control system automatic detecting each networked system going online across the communication network and collecting information from each networked system to form the virtual server including to assigning each networked system into a corresponding service pool based on the functionality of each networked system, wherein said communication network is one of corporate Intranet, Internet, LAN, or WAN.
 17. the control system of claim 16 further comprises: deploying a web folder tree for representing the virtual server's one or more service pools, and facilitating each user from a web browser capable of via the web folder tree in web UI to performing tasks of accessing the virtual server including performing said file transferring tasks.
 18. The control system of claim 1, wherein said user's local system is one of the control system or a remote system which including client system or console system.
 19. The control system of claim 1 further comprises configuring a computer system capable of functioning as said control system and capable of supporting said file transferring tasks, wherein the control system is one of a server system or desktop system or laptop system or a communication device.
 20. a virtual server supporting file transferring, which comprises a plurality of networked systems that each networked system configured for providing file services, a control system interconnecting and controlling the plurality of networked systems across a communication network via communicating to each networked system; wherein the control system comprises at least a hardware processor and a network interface device; controls automatic provisioning each networked system to form the virtual server across the communication network, and provides web services and user interfaces (“UI”) including web UI for file transferring, facilitates and controls each of one or more users from a web browser on the user's local system via said web UI capable of performing tasks, specially performing file transferring tasks including transmitting multi-Giga bytes sized files; wherein the control system controls each web browser capable of submitting one or multiple said requested tasks to be run without blocking the web browser screen. 